iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 19
1
Software Development

高中生Kotlin實作30天系列 第 19

Day 19 FireBase資料庫-查詢(Cloud Firestore)

  • 分享至 

  • xImage
  •  

利用名稱搜尋

使用.get(),取得Firestore的內容
利用文件的ID查詢單一文件

Firestore.collection("Student")
    .document("001")
    .get()
    .addOnSuccessListener  { documentSnapshot: DocumentSnapshot ->
        val student = documentSnapshot.toObject(Student::class.java)

    }

取得整個集合的內容,利用迴圈將文件一筆一筆加入List中

var list = List<Student>
Firestore.collection("Students")
    .get()
    .addOnSuccessListener { documentSnapshot: DocumentSnapshot ->
        val student: List<Student> = querySnapshot?.toObjects(Student::class.java) ?: mutableListOf()
        for (i: Student in student) {
            list.add(i)
        }
    }

條件搜尋

  • whereEqualTo() 欄位值等於
  • whereGreaterThan() 欄位值大於
  • whereLessThan() 欄位值小於
  • whereGreaterThanOrEqualTo() 欄位值大於或等於
  • whereLessThanOrEqualTo() 欄位值小於或等於
//尋找座號為1的學生
Firestore.collection("Students")
    .whereEqualTo("number", 1)
    .get()

如果連續使用的話則會是and邏輯搜尋,分開使用的話的則是or邏輯

//尋找座號為1且年齡大於10的學生
Firestore.collection("Students")
    .whereEqualTo("number", 1)
    .whereGreaterThan("age", 10)
    .get()
    
//尋找座號為1或年齡大於10的學生
Firestore.collection("Students")
    .whereEqualTo("number", 1)
Firestore.whereGreaterThan("age", 10)
    .get()

上一篇
Day 18 FireBase資料庫-上傳資料(Cloud Firestore)
下一篇
Day 20 FireBase資料庫-刪除和修改(Cloud Firestore)
系列文
高中生Kotlin實作30天30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言